﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using Easy.SQL2;

/// <summary>
/// Summary description for Metodos
/// </summary>
public class Metodos
{

    #region LocalizacaoListar
    public static DataTable LocalizacaoListar(string descricao)
    {
        ComandoSQLServer cmd = new ComandoSQLServer();
        string comando = @"SELECT ds_localizacao, cd_localizacao FROM Localizacao";
        if (descricao.Trim() != string.Empty)
        {
            comando += " WHERE ds_localizacao LIKE @ds_localizacao ";
            cmd.AdicionarParametro("@ds_localizacao", SqlDbType.VarChar, 250, descricao.Trim() + "%");
        }
        comando += " ORDER BY ds_localizacao ";
        return cmd.ExecutaConsulta(comando);
    }
    #endregion

    #region LocalizacaoIncluir
    public static int LocalizacaoIncluir(string descricao)
    {
        string comando = @"INSERT INTO Localizacao (ds_localizacao) VALUES (@ds_localizacao)";
        ComandoSQLServer cmd = new ComandoSQLServer();
        cmd.AdicionarParametro("@ds_localizacao", SqlDbType.VarChar,250, descricao.Trim());
        cmd.ExecutaAtualizacao(comando);

        comando = @"SELECT MAX(cd_localizacao)AS cd_localizacao FROM Localizacao";
        DataTable dt = cmd.ExecutaConsulta(comando);
        return Convert.ToInt32(dt.Rows[0]["cd_localizacao"].ToString());
    }
    #endregion

    #region MaquinaListar
    public static DataTable MaquinaListar(string nome, string mac, string Localizacao)
    {
        string comando = @" SELECT 
                                mac_maquina, nm_maquina, ds_localizacao 
                            FROM 
                                Maquinas M
                            INNER JOIN Localizacao L ON L.cd_localizacao = M.cd_localizacao ";
        ComandoSQLServer cmd = new ComandoSQLServer();
        if (nome.Trim() != string.Empty)
        {
            comando += " WHERE nm_maquina LIKE @nm_maquina ";
            cmd.AdicionarParametro("@nm_maquina", SqlDbType.VarChar, 60, nome.Trim() + "%");
        }

        else if (mac.Trim() != string.Empty)
        {
            comando += " WHERE mac_maquina = @mac_maquina ";
            cmd.AdicionarParametro("@mac_maquina", SqlDbType.VarChar, 50, mac.Trim());
        }

        else if (Localizacao.Trim() != string.Empty)
        {
            comando += " WHERE L.ds_localizacao LIKE @ds_localizacao ";
            cmd.AdicionarParametro("@ds_localizacao", SqlDbType.VarChar, Localizacao.Trim() + "%");
        }
        comando += " ORDER BY ds_localizacao, nm_maquina "; 
        return cmd.ExecutaConsulta(comando);
    }
    #endregion

    #region MaquinaIncluir
    public static void MaquinaIncluir(string nome, string mac, string cdLocalizacao)
    {
        string comando = @"INSERT INTO Maquinas (mac_maquina,nm_maquina,cd_localizacao) VALUES (@mac_maquina,@nm_maquina,@cd_localizacao)";
        ComandoSQLServer cmd = new ComandoSQLServer();
        cmd.AdicionarParametro("@mac_maquina", SqlDbType.VarChar,50, mac.Trim().ToUpper());
        cmd.AdicionarParametro("@nm_maquina", SqlDbType.VarChar,60, nome.Trim());
        cmd.AdicionarParametro("@cd_localizacao", SqlDbType.Int, cdLocalizacao.Trim());
        cmd.ExecutaAtualizacao(comando);
    }
    #endregion

}
